﻿/*=============================================================================
* File Name : Rect.h                              Ver : 1.00  Date : 2009-05-07
*
* Description :
*
*       矩形構造体　ヘッダ
*
* Author : 土田 悠貴.
*============================================================================*/
#ifndef _RECT_H_
#define _RECT_H_

namespace tglib
{

/**
 * @brief 矩形構造体
 */
struct Rect
{
	/** 左座標 */
	float left;

	/** 上座標 */
	float top;

	/** 右座標 */
	float right;

	/** 下座標 */
	float bottom;

	/*===========================================================================*/
	/**
	 * コンストラクタ．
	 *
	 * @param [in]  L 左端位置 ．
	 * @param [in]  T 上端位置 ．
	 * @param [in]  R 右端位置 ．
	 * @param [in]  B 下端位置 ．
	 */
	Rect( float L = 0.0, float T = 0.0, float R = 0.0, float B = 0.0 );

	/*===========================================================================*/
	/**
	 * 横の長さの取得．
	 *
	 * @return   横の長さ．
	 */
	float	getWidth() const;

	/*===========================================================================*/
	/**
	 * 2D座標系の縦の長さの取得．
	 *
	 * @return   縦の長さ．
	 */
	float	getHeight2D() const;
	
	/*===========================================================================*/
	/**
	 * 3D座標系の縦の長さの取得．
	 *
	 * @return   縦の長さ．
	 */
	float	getHeight3D() const;

	/** ２項演算子オーバーロード */
	friend bool operator == ( const Rect& r1, const Rect& r2 );
	friend bool operator != ( const Rect& r1, const Rect& r2 );
};

} // namespace tglib

#endif

/*========= End of File =====================================================*/
